package com.artezio.vacation.dao;

import com.artezio.vacation.domain.User;

import java.util.List;
import java.util.Set;

/**
 * IntelliJ IDEA nick 20.02.13
 */
public interface UserDAO {

    /**
     * Find the user with email
     *
     * @param email
     * @return user
     */
    public User findUserByEmail(String email);

    /**
     * Get all users
     * List contains users
     *
     * @return list of user
     */
    public List<User> getAllUsers();

    /**
     * Find users with set of ids
     * List contains users
     *
     * @param ids
     * @return list o user
     */
    public List<User> findUsersById(Set<Long> ids);

    /**
     * Find users with email, which contains pattern
     * List contains users
     *
     * @param emailPattern
     * @return list of users
     */
    public List<User> findUserByEmailPattern(String emailPattern);

}
